|
ARD2
1.00 for Rev B. Hardware
Airbag Reference Demonstrator using MPC5604P
|
00001 /****************************************************************************** 00002 * 00003 * Freescale Semiconductor Inc. 00004 * (c) Copyright 2004-2011 Freescale Semiconductor 00005 * ALL RIGHTS RESERVED. 00006 * 00007 ****************************************************************************/ 00019 #ifndef __FREEMASTER_PRIVATE_H 00020 #define __FREEMASTER_PRIVATE_H 00021 00022 #ifndef __FREEMASTER_H 00023 #error Please include the freemaster.h master header file before the freemaster_private.h 00024 #endif 00025 00026 #ifdef FMSTR_USE_MQX_IO 00027 #if FMSTR_USE_MQX_IO 00028 /* include MQX headers */ 00029 #include <mqx.h> 00030 #include <bsp.h> 00031 #endif 00032 #endif 00033 00034 /****************************************************************************** 00035 * Platform-dependent types, macros and functions 00036 ******************************************************************************/ 00037 00038 #undef FMSTR_PLATFORM 00039 00040 /* platform macro FMSTR_PLATFORM_xxxxxxx should be defined */ 00041 /* as "non-zero" in the "freemaster.h" file */ 00042 00043 #if defined(FMSTR_PLATFORM_56F8xx) 00044 #if FMSTR_PLATFORM_56F8xx 00045 #include "freemaster_56F8xx.h" 00046 #define FMSTR_PLATFORM 56F8xx 00047 #else 00048 #undef FMSTR_PLATFORM_56F8xx 00049 #endif 00050 #endif 00051 00052 #if defined(FMSTR_PLATFORM_56F8xxx) 00053 #if FMSTR_PLATFORM_56F8xxx 00054 #include "freemaster_56F8xxx.h" 00055 #define FMSTR_PLATFORM 56F8xxx 00056 #else 00057 #undef FMSTR_PLATFORM_56F8xxx 00058 #endif 00059 #endif 00060 00061 #if defined(FMSTR_PLATFORM_HC12) 00062 #if FMSTR_PLATFORM_HC12 00063 #include "freemaster_HC12.h" 00064 #define FMSTR_PLATFORM HC12 00065 #else 00066 #undef FMSTR_PLATFORM_HC12 00067 #endif 00068 #endif 00069 00070 #if defined(FMSTR_PLATFORM_HC08) 00071 #if FMSTR_PLATFORM_HC08 00072 #include "freemaster_HC08.h" 00073 #define FMSTR_PLATFORM HC08 00074 #else 00075 #undef FMSTR_PLATFORM_HC08 00076 #endif 00077 #endif 00078 00079 #if defined(FMSTR_PLATFORM_MPC55xx) 00080 #if FMSTR_PLATFORM_MPC55xx 00081 #include "freemaster_MPC55xx.h" 00082 #define FMSTR_PLATFORM MPC55xx 00083 #else 00084 #undef FMSTR_PLATFORM_MPC55xx 00085 #endif 00086 #endif 00087 00088 #if defined(FMSTR_PLATFORM_MPC5xx) 00089 #if FMSTR_PLATFORM_MPC5xx 00090 #include "freemaster_MPC5xx.h" 00091 #define FMSTR_PLATFORM MPC5xx 00092 #else 00093 #undef FMSTR_PLATFORM_MPC5xx 00094 #endif 00095 #endif 00096 00097 #if defined(FMSTR_PLATFORM_MCF51xx) 00098 #if FMSTR_PLATFORM_MCF51xx 00099 #include "freemaster_MCF51xx.h" 00100 #define FMSTR_PLATFORM MCF51xx 00101 #else 00102 #undef FMSTR_PLATFORM_MCF51xx 00103 #endif 00104 #endif 00105 00106 #if defined(FMSTR_PLATFORM_MCF52xx) 00107 #if FMSTR_PLATFORM_MCF52xx 00108 #include "freemaster_MCF52xx.h" 00109 #define FMSTR_PLATFORM MCF52xx 00110 #else 00111 #undef FMSTR_PLATFORM_MCF52xx 00112 #endif 00113 #endif 00114 00115 #if defined(FMSTR_PLATFORM_MPC56xx) 00116 #if FMSTR_PLATFORM_MPC56xx 00117 #include "freemaster_MPC56xx.h" 00118 #define FMSTR_PLATFORM MPC56xx 00119 #else 00120 #undef FMSTR_PLATFORM_MPC56xx 00121 #endif 00122 #endif 00123 00124 #if defined(FMSTR_PLATFORM_MQX) 00125 #if FMSTR_PLATFORM_MQX 00126 #include "freemaster_MQX.h" 00127 #define FMSTR_PLATFORM MQX 00128 #else 00129 #undef FMSTR_PLATFORM_MQX 00130 #endif 00131 #endif 00132 00133 #if defined(FMSTR_PLATFORM_KXX) 00134 #if FMSTR_PLATFORM_KXX 00135 #include "freemaster_Kxx.h" 00136 #define FMSTR_PLATFORM KXX 00137 #else 00138 #undef FMSTR_PLATFORM_KXX 00139 #endif 00140 #endif 00141 00142 #ifndef FMSTR_PLATFORM 00143 #error Unknown FreeMASTER driver platform 00144 #endif 00145 00146 /****************************************************************************** 00147 * NULL needed 00148 ******************************************************************************/ 00149 00150 #ifndef NULL 00151 #define NULL ((void *) 0) 00152 #endif 00153 00154 /****************************************************************************** 00155 * Boolean values 00156 ******************************************************************************/ 00157 00158 #ifndef FMSTR_TRUE 00159 #define FMSTR_TRUE (1U) 00160 #endif 00161 00162 #ifndef FMSTR_FALSE 00163 #define FMSTR_FALSE (0U) 00164 #endif 00165 00166 00167 /****************************************************************************** 00168 * inline functions 00169 ******************************************************************************/ 00170 00171 /* we do not assume the inline is always supported by compiler 00172 rather each platform header defines its FMSTR_INLINE */ 00173 #ifndef FMSTR_INLINE 00174 #define FMSTR_INLINE static 00175 #endif 00176 00177 /* building macro-based inline code */ 00178 #define FMSTR_MACROCODE_BEGIN() do{ 00179 #define FMSTR_MACROCODE_END() }while(0) 00180 00181 /****************************************************************************** 00182 * Global non-API functions (used internally in FreeMASTER driver) 00183 ******************************************************************************/ 00184 00185 FMSTR_BOOL FMSTR_InitSerial(void); 00186 void FMSTR_SendResponse(FMSTR_BPTR pMessageIO, FMSTR_SIZE8 nLength); 00187 void FMSTR_ProcessSCI(void); 00188 void FMSTR_ProcessJTAG(void); 00189 00190 FMSTR_BOOL FMSTR_Tx(FMSTR_U8 * pTxChar); 00191 FMSTR_BOOL FMSTR_Rx(FMSTR_U8 nRxChar); 00192 00193 FMSTR_BOOL FMSTR_ProtocolDecoder(FMSTR_BPTR pMessageIO); 00194 FMSTR_BPTR FMSTR_GetBoardInfo(FMSTR_BPTR pMessageIO); 00195 00196 FMSTR_BPTR FMSTR_ReadMem(FMSTR_BPTR pMessageIO); 00197 FMSTR_BPTR FMSTR_ReadVar(FMSTR_BPTR pMessageIO, FMSTR_SIZE8 nSize); 00198 FMSTR_BPTR FMSTR_WriteMem(FMSTR_BPTR pMessageIO); 00199 FMSTR_BPTR FMSTR_WriteVar(FMSTR_BPTR pMessageIO, FMSTR_SIZE8 nSize); 00200 FMSTR_BPTR FMSTR_WriteVarMask(FMSTR_BPTR pMessageIO, FMSTR_SIZE8 nSize); 00201 FMSTR_BPTR FMSTR_WriteMemMask(FMSTR_BPTR pMessageIO); 00202 00203 void FMSTR_InitAppCmds(void); 00204 FMSTR_BPTR FMSTR_StoreAppCmd(FMSTR_BPTR pMessageIO); 00205 FMSTR_BPTR FMSTR_GetAppCmdStatus(FMSTR_BPTR pMessageIO); 00206 FMSTR_BPTR FMSTR_GetAppCmdRespData(FMSTR_BPTR pMessageIO); 00207 00208 void FMSTR_InitScope(void); 00209 FMSTR_BPTR FMSTR_SetUpScope(FMSTR_BPTR pMessageIO); 00210 FMSTR_BPTR FMSTR_ReadScope(FMSTR_BPTR pMessageIO); 00211 00212 void FMSTR_InitRec(void); 00213 FMSTR_BPTR FMSTR_SetUpRec(FMSTR_BPTR pMessageIO); 00214 FMSTR_BPTR FMSTR_StartRec(FMSTR_BPTR pMessageIO); 00215 FMSTR_BPTR FMSTR_StopRec(FMSTR_BPTR pMessageIO); 00216 FMSTR_BPTR FMSTR_GetRecStatus(FMSTR_BPTR pMessageIO); 00217 FMSTR_BPTR FMSTR_GetRecBuff(FMSTR_BPTR pMessageIO); 00218 FMSTR_BOOL FMSTR_IsInRecBuffer(FMSTR_ADDR nAddr, FMSTR_SIZE8 nSize); 00219 FMSTR_SIZE FMSTR_GetRecBuffSize(void); 00220 00221 void FMSTR_InitTsa(void); 00222 FMSTR_BPTR FMSTR_GetTsaInfo(FMSTR_BPTR pMessageIO); 00223 FMSTR_BPTR FMSTR_GetStringLen(FMSTR_BPTR pMessageIO); 00224 FMSTR_BOOL FMSTR_CheckTsaSpace(FMSTR_ADDR nAddr, FMSTR_SIZE8 nSize, FMSTR_BOOL bWriteAccess); 00225 FMSTR_U16 FMSTR_StrLen(FMSTR_ADDR nAddr); 00226 00227 void FMSTR_InitSfio(void); 00228 FMSTR_BPTR FMSTR_SfioFrame(FMSTR_BPTR pMessageIO); 00229 FMSTR_BPTR FMSTR_SfioGetResp(FMSTR_BPTR pMessageIO); 00230 00231 void FMSTR_InitPipes(void); 00232 FMSTR_BPTR FMSTR_PipeFrame(FMSTR_BPTR pMessageIO); 00233 00234 void FMSTR_InitCan(void); 00235 void FMSTR_SetCanCmdID(FMSTR_U32 canID); 00236 void FMSTR_SetCanRespID(FMSTR_U32 canID); 00237 FMSTR_BOOL FMSTR_TxCan(void); 00238 FMSTR_BOOL FMSTR_RxCan(void); 00239 void FMSTR_ProcessCanRx(void); 00240 void FMSTR_ProcessCanTx(void); 00241 00242 void FMSTR_InitPDBdm(void); 00243 00244 /**************************************************************************************** 00245 * Potentially unused variable declaration 00246 *****************************************************************************************/ 00247 00248 #ifdef _lint 00249 #define FMSTR_UNUSED(sym) /*lint -esym(715,sym) -esym(818,sym) -esym(529,sym) -e{960} */ 00250 #else 00251 #define FMSTR_UNUSED(sym) ((sym),0) 00252 #endif 00253 00254 00255 #if (FMSTR_LONG_INTR && (FMSTR_SHORT_INTR || FMSTR_POLL_DRIVEN)) || \ 00256 (FMSTR_SHORT_INTR && (FMSTR_LONG_INTR || FMSTR_POLL_DRIVEN)) || \ 00257 (FMSTR_POLL_DRIVEN && (FMSTR_LONG_INTR || FMSTR_SHORT_INTR)) || \ 00258 !(FMSTR_POLL_DRIVEN || FMSTR_LONG_INTR || FMSTR_SHORT_INTR) 00259 /* mismatch in interrupt modes, only one can be selected */ 00260 #error You have to enable exctly one of FMSTR_LONG_INTR or FMSTR_SHORT_INTR or FMSTR_POLL_DRIVEN 00261 #endif 00262 00263 #if FMSTR_SHORT_INTR 00264 #if FMSTR_COMM_RQUEUE_SIZE < 1 00265 #error Error in FMSTR_COMM_RQUEUE_SIZE value. 00266 #endif 00267 #endif 00268 00269 /* only one communication link may be selected */ 00270 #if ((((FMSTR_USE_SCI)?1:0) + ((FMSTR_USE_JTAG)?1:0) + ((FMSTR_USE_CAN)?1:0) + ((FMSTR_USE_MQX_IO)?1:0) + ((FMSTR_DISABLE)?1:0) + ((FMSTR_USE_USB_CDC)?1:0) + ((FMSTR_USE_PDBDM)?1:0)) > 1) 00271 #error More than one communication interface selected for FreeMASTER driver 00272 #endif 00273 00274 /* All Interface options are set to 0 */ 00275 #if ((((FMSTR_USE_SCI)?1:0) + ((FMSTR_USE_JTAG)?1:0) + ((FMSTR_USE_CAN)?1:0) + ((FMSTR_USE_MQX_IO)?1:0) + ((FMSTR_DISABLE)?1:0) + ((FMSTR_USE_USB_CDC)?1:0) + ((FMSTR_USE_PDBDM)?1:0)) == 0) 00276 #error All Interface options are set to 0, please chooce one intercace or set FMSTR_DISABLE macro to 1. 00277 #endif 00278 00279 /* SCI does not have a transmission double buffer (kind of queue) */ 00280 /* (if not specified differently in platform-dependent header file) */ 00281 #if FMSTR_USE_SCI 00282 #ifndef FMSTR_SCI_BASE 00283 #error FMSTR_SCI_BASE must be defined when using SCI interface 00284 #endif 00285 #endif 00286 00287 /* CAN is MSCAN or FLEXCAN */ 00288 #if FMSTR_USE_CAN 00289 00290 /* if CANHW is not specified in freemaster.h, the platform is not yet tested with CAN */ 00291 #if (!defined(FMSTR_CANHW_MSCAN)) && FMSTR_USE_MSCAN 00292 #warning MSCAN support not yet fully tested on this platform 00293 #endif 00294 00295 /* if CANHW is not specified in freemaster.h, the platform is not yet tested with CAN */ 00296 #if (!defined(FMSTR_CANHW_FLEXCAN)) && FMSTR_USE_FLEXCAN 00297 #warning FlexCAN support not yet fully tested on this platform 00298 #endif 00299 00300 #ifndef FMSTR_CAN_BASE 00301 #error FMSTR_CAN_BASE must be defined when is using CAN interface 00302 #endif 00303 00304 /* can't be both*/ 00305 #if (FMSTR_USE_MSCAN) && (FMSTR_USE_FLEXCAN) 00306 #error Can not configure FreeMASTER to use both MSCAN and FlexCAN 00307 #endif 00308 00309 /* should be at least one */ 00310 #if !(FMSTR_USE_MSCAN) && !(FMSTR_USE_FLEXCAN) 00311 #error Please select if MSCAN or FlexCAN will be used 00312 #endif 00313 00314 /* flexcan needs to know the transmit and receive MB number */ 00315 #if FMSTR_USE_FLEXCAN 00316 #if FMSTR_FLEXCAN_TXMB == FMSTR_FLEXCAN_RXMB 00317 #warning FCAN RX and FCAN TX are using same Message Buffer. FreeMASTER CAN driver doesnt support this configuration. Please change number of Message Buffer in FMSTR_FLEXCAN_TXMB or FMSTR_FLEXCAN_RXMB macros. 00318 #endif 00319 #endif 00320 00321 #else 00322 00323 /* Cannot define define FMSTR_USE_CAN by user */ 00324 #if FMSTR_USE_FLEXCAN || FMSTR_USE_MSCAN 00325 #error Cannot use FlecCan/MsCan and define macro FMSTR_USE_CAN to 0 00326 #endif 00327 00328 #endif 00329 00330 /* MQX IO communication interface warnings and errors */ 00331 #if FMSTR_USE_MQX_IO 00332 00333 #if !(defined(FMSTR_PLATFORM_MQX) && FMSTR_PLATFORM_MQX) 00334 #error MQX IO communication interface is supported only in FMSTR_PLATFORM_MQX, Please choose another communication interface. 00335 #endif 00336 00337 /* define FreeMASTER IO Channel */ 00338 #ifndef FMSTR_MQX_IO_CHANNEL 00339 #warning MQX IO Channel is not defined by FMSTR_MQX_IO_CHANNEL macro, FreeMASTER use "ttya:" IO Channel 00340 #define FMSTR_MQX_IO_CHANNEL "ttya:" 00341 #endif 00342 00343 /* configure the FreeMASTER communication channel to non blocking mode */ 00344 #ifndef FMSTR_MQX_IO_BLOCKING 00345 #warning FMSTR_MQX_IO_BLOCKING macro is not defined, the MQX IO Channel will be open in non blocking mode 00346 #define FMSTR_MQX_IO_BLOCKING 0 00347 #endif 00348 00349 /* MQX open port parameters */ 00350 #if FMSTR_MQX_IO_BLOCKING 00351 #define FMSTR_MQX_IO_PARAMETER 0 00352 #else 00353 #define FMSTR_MQX_IO_PARAMETER IO_SERIAL_NON_BLOCKING 00354 #endif 00355 00356 /* MQX doesn't supports Long interrupt and Short interrupt */ 00357 #if FMSTR_LONG_INTR 00358 #warning "MQX IO interface doesn't supports the Long Interrupt routines" 00359 #elif FMSTR_SHORT_INTR 00360 #warning "MQX IO interface doesn't supports the normal Short Interrupt routines, please open your MQX communication interface in Interrupt mode" 00361 #endif 00362 #endif 00363 00364 #if defined(FMSTR_PLATFORM_MQX) 00365 #if FMSTR_PLATFORM_MQX 00366 00367 /* MQX communication interfaces require MQX header files to be included. */ 00368 #ifndef __MQX__ 00369 #error Please include the MQX header file before the freemaster.h 00370 #endif 00371 00372 #if FMSTR_USE_SCI 00373 #error "MQX target driver doesn't supports the SCI module as communication interface" 00374 #elif FMSTR_USE_CAN 00375 #error "MQX target driver doesn't supports the CAN module as communication interface" 00376 #elif FMSTR_USE_JTAG 00377 #error "MQX target driver doesn't supports the JTAG module as communication interface" 00378 #elif FMSTR_USE_USB_CDC 00379 #error "MQX target driver doesn't supports the USB CDC as communication interface" 00380 #endif 00381 #endif 00382 #endif 00383 00384 #if FMSTR_USE_SCI || FMSTR_USE_JTAG || FMSTR_USE_USB_CDC || FMSTR_USE_MQX_IO 00385 #ifndef FMSTR_USE_SERIAL 00386 #define FMSTR_USE_SERIAL 1 00387 #else 00388 #if FMSTR_USE_SERIAL == 0 00389 #error "FMSTR_USE_SERIAL macro cannot be configured by user, FreeMASTER serial driver functionality is not garanted." 00390 #endif 00391 #endif 00392 #else 00393 #ifndef FMSTR_USE_SERIAL 00394 #define FMSTR_USE_SERIAL 0 00395 #endif 00396 #endif 00397 00398 #if FMSTR_USE_USB_CDC 00399 /* USB CDC driver doesn't supports POLL mode */ 00400 #if FMSTR_POLL_DRIVEN 00401 #error "FreeMASTER USB CDC driver doesn't supports the POLL mode" 00402 #endif 00403 #endif 00404 00405 #if FMSTR_USE_PDBDM 00406 /* Packet Driven BDM communication does not support any interrupt mode */ 00407 #if FMSTR_SHORT_INTR || FMSTR_LONG_INTR 00408 #warning "FreeMASTER Packet Driven BDM driver doesn't support any Interrupt mode" 00409 #endif 00410 #endif 00411 00412 /* check scope settings */ 00413 #if FMSTR_USE_SCOPE 00414 #if FMSTR_MAX_SCOPE_VARS > 8 || FMSTR_MAX_SCOPE_VARS < 2 00415 #error Error in FMSTR_MAX_SCOPE_VARS value. Use a value in range 2..8 00416 #endif 00417 #endif 00418 00419 /* check recorder settings */ 00420 #if FMSTR_USE_RECORDER || FMSTR_USE_FASTREC 00421 #if FMSTR_MAX_REC_VARS > 8 || FMSTR_MAX_REC_VARS < 2 00422 #error Error in FMSTR_MAX_REC_VARS value. Use a value in range 2..8 00423 #endif 00424 00425 #if !FMSTR_USE_READMEM 00426 #error Recorder needs the FMSTR_USE_READMEM feature 00427 #endif 00428 #endif 00429 00430 /* fast recorder requires its own allocation of recorder buffer */ 00431 #if FMSTR_USE_FASTREC 00432 #if FMSTR_REC_OWNBUFF 00433 #error Fast recorder requires its own buffer allocation 00434 #endif 00435 #endif 00436 00437 #if FMSTR_USE_TSA 00438 #if !FMSTR_USE_READMEM 00439 #error TSA needs the FMSTR_USE_READMEM feature 00440 #endif 00441 #endif 00442 00443 /* check SFIO settings */ 00444 #if FMSTR_USE_SFIO 00445 00446 /* The SFIO configuration files (sfio.h and optionally also the sfio_cfg.h) exist 00447 in project to define SFIO parameters. */ 00448 #include "sfio.h" 00449 00450 #ifndef SFIO_MAX_INPUT_DATA_LENGTH 00451 #error SFIO_MAX_INPUT_DATA_LENGTH was not defined in sfio_cfg.h 00452 #endif 00453 #ifndef SFIO_MAX_OUTPUT_DATA_LENGTH 00454 #error SFIO_MAX_OUTPUT_DATA_LENGTH was not defined in sfio_cfg.h 00455 #endif 00456 00457 #endif 00458 00459 #if FMSTR_USE_PIPES 00460 00461 #ifdef FMSTR_PIPES_EXPERIMENTAL 00462 #warning The "pipes" feature is now in experimental code phase. Not yet tested on this platform. 00463 #endif 00464 00465 /* must enable printf for vararg printf */ 00466 #if !(FMSTR_USE_PIPE_PRINTF) && (FMSTR_USE_PIPE_PRINTF_VARG) 00467 #error You must enable pipe printf for vararg printf (see FMSTR_USE_PIPE_PRINTF) 00468 #endif 00469 00470 /* at least one */ 00471 #if FMSTR_MAX_PIPES_COUNT < 1 00472 #warning No sense to allocate zero-count pipes. Disabling pipes. 00473 #undef FMSTR_USE_PIPES 00474 #define FMSTR_USE_PIPES 0 00475 #endif 00476 00477 /* printf buffer should accept one integer printed */ 00478 #if FMSTR_PIPES_PRINTF_BUFF_SIZE < 8 00479 #error Pipe printf buffer should be at least 8 (see FMSTR_PIPES_PRINTF_BUFF_SIZE) 00480 #endif 00481 #if FMSTR_PIPES_PRINTF_BUFF_SIZE > 255 00482 #error Pipe printf buffer should not exceed 255 (see FMSTR_PIPES_PRINTF_BUFF_SIZE) 00483 #endif 00484 00485 #endif 00486 00487 /* check what kind of board info is sent */ 00488 #if FMSTR_USE_BRIEFINFO 00489 #if FMSTR_USE_RECORDER 00490 #warning The full information structure must be used when recorder is to be used 00491 #undef FMSTR_USE_BRIEFINFO 00492 #define FMSTR_USE_BRIEFINFO 1 00493 #endif 00494 #endif 00495 00496 /* automatic buffer size by default */ 00497 #ifndef FMSTR_COMM_BUFFER_SIZE 00498 #define FMSTR_COMM_BUFFER_SIZE 0 00499 #endif 00500 00501 /* check minimal buffer size required for all enabled features */ 00502 #if FMSTR_COMM_BUFFER_SIZE 00503 00504 /* basic commands (getinfobrief, write/read memory etc.) */ 00505 #if FMSTR_USE_BRIEFINFO && FMSTR_COMM_BUFFER_SIZE < 11 00506 #error FMSTR_COMM_BUFFER_SIZE set too small for basic FreeMASTER commands (11 bytes) 00507 #endif 00508 00509 /* full info required */ 00510 #if !(FMSTR_USE_BRIEFINFO) && FMSTR_COMM_BUFFER_SIZE < 35 00511 #error FMSTR_COMM_BUFFER_SIZE set too small for GETINFO command (size 35) 00512 #endif 00513 00514 /* application commands */ 00515 #if FMSTR_USE_APPCMD && FMSTR_COMM_BUFFER_SIZE < ((FMSTR_APPCMD_BUFF_SIZE)+1) 00516 #error FMSTR_COMM_BUFFER_SIZE set too small for SENDAPPCMD command (size FMSTR_APPCMD_BUFF_SIZE+1) 00517 #endif 00518 00519 /* configuring scope (EX) */ 00520 #if FMSTR_USE_SCOPE && FMSTR_COMM_BUFFER_SIZE < ((FMSTR_MAX_SCOPE_VARS)*5+1) 00521 #error FMSTR_COMM_BUFFER_SIZE set too small for SETUPSCOPEEX command (size FMSTR_MAX_SCOPE_VARS*5+1) 00522 #endif 00523 00524 /* configuring recorder (EX) */ 00525 #if FMSTR_USE_RECORDER && FMSTR_COMM_BUFFER_SIZE < ((FMSTR_MAX_REC_VARS)*5+18) 00526 #error FMSTR_COMM_BUFFER_SIZE set too small for SETUPRECEX command (size FMSTR_MAX_REC_VARS*5+18) 00527 #endif 00528 00529 /* SFIO encapsulation */ 00530 #if FMSTR_USE_SFIO 00531 #if (FMSTR_COMM_BUFFER_SIZE < ((SFIO_MAX_INPUT_DATA_LENGTH)+1)) || \ 00532 (FMSTR_COMM_BUFFER_SIZE < ((SFIO_MAX_OUTPUT_DATA_LENGTH)+1)) 00533 #error FMSTR_COMM_BUFFER_SIZE set too small for SFIO encapsulation (see SFIO_MAX_xxx_DATA_LENGTH) 00534 #endif 00535 #endif 00536 00537 #endif 00538 00539 #endif /* __FREEMASTER_PRIVATE_H */ 00540